<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>aiengine: xaiedma_shim.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">aiengine
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xaiedma__shim_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a>  </div>
  <div class="headertitle">
<div class="title">xaiedma_shim.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>Header file for the Shim DMA functions. </p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who     Date     Changes
</p>
<hr/>
<p>
1.0  Naresh  03/14/2018  Initial creation
1.1  Naresh  07/11/2018  Updated copyright info
1.2  Nishad  12/05/2018  Renamed ME attributes to AIE
1.3  Hyun    06/20/2019  Added APIs for individual BD / Channel reset
1.4  Hyun    06/20/2019  Add <a class="el" href="xaiedma__shim_8c.html#aa2bd7444a7216113d5944f85fcd141de" title="This API intializes the Shim DMA instances without programming any related resources such as bd and c...">XAieDma_ShimSoftInitialize()</a>
1.5  Dishita 02/07/2020  Resolved macro compilation error
</pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_aie_dma___shim_bd_lk.html">XAieDma_ShimBdLk</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains the lock attributes for the BD.  <a href="struct_x_aie_dma___shim_bd_lk.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_aie_dma___shim_bd_axi.html">XAieDma_ShimBdAxi</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains the AXI attributes for the BD.  <a href="struct_x_aie_dma___shim_bd_axi.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_aie_dma___shim_bd.html">XAieDma_ShimBd</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains all the attributes for the BD configuration.  <a href="struct_x_aie_dma___shim_bd.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef is the Shim DMA instance.  <a href="struct_x_aie_dma___shim.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22e5351d7c80d484634210428a4812a0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a22e5351d7c80d484634210428a4812a0">XAieDma_ShimChControl</a>(DmaInstPtr, ChNum, PauseStrm, PauseMm, Enable)</td></tr>
<tr class="memdesc:a22e5351d7c80d484634210428a4812a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro to configure the selected Shim DMA channel conrol bits.  <a href="#a22e5351d7c80d484634210428a4812a0">More...</a><br/></td></tr>
<tr class="separator:a22e5351d7c80d484634210428a4812a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f2993654a899ea69ab98a9e99df1c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a70f2993654a899ea69ab98a9e99df1c0">XAieDma_ShimSetStartBd</a>(DmaInstPtr, ChNum, StartBd)</td></tr>
<tr class="memdesc:a70f2993654a899ea69ab98a9e99df1c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro to set the StartBd for the selected Shim DMA channel.  <a href="#a70f2993654a899ea69ab98a9e99df1c0">More...</a><br/></td></tr>
<tr class="separator:a70f2993654a899ea69ab98a9e99df1c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2bd7444a7216113d5944f85fcd141de"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#aa2bd7444a7216113d5944f85fcd141de">XAieDma_ShimSoftInitialize</a> (<a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *TileInstPtr, <a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr)</td></tr>
<tr class="memdesc:aa2bd7444a7216113d5944f85fcd141de"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API intializes the Shim DMA instances without programming any related resources such as bd and channel.  <a href="#aa2bd7444a7216113d5944f85fcd141de">More...</a><br/></td></tr>
<tr class="separator:aa2bd7444a7216113d5944f85fcd141de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34e7d834009eaa71a3b7bc3b8f253e4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a34e7d834009eaa71a3b7bc3b8f253e4f">XAieDma_ShimInitialize</a> (<a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *TileInstPtr, <a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr)</td></tr>
<tr class="memdesc:a34e7d834009eaa71a3b7bc3b8f253e4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API intializes the Shim DMA BDs to their default values and followed by disable of all the 4 channels (S2MM0, S2MM1, MM2S0, MM2S1).  <a href="#a34e7d834009eaa71a3b7bc3b8f253e4f">More...</a><br/></td></tr>
<tr class="separator:a34e7d834009eaa71a3b7bc3b8f253e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80250f198333cc08b277de176154bbd6"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a80250f198333cc08b277de176154bbd6">XAieDma_ShimChReset</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr, u8 ChNum)</td></tr>
<tr class="memdesc:a80250f198333cc08b277de176154bbd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API resets the selected Shim DMA channel, followed by disabling the channel.  <a href="#a80250f198333cc08b277de176154bbd6">More...</a><br/></td></tr>
<tr class="separator:a80250f198333cc08b277de176154bbd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa61e2cfbea94e70eb4329ea6ce05162e"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#aa61e2cfbea94e70eb4329ea6ce05162e">XAieDma_ShimChResetAll</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr)</td></tr>
<tr class="memdesc:aa61e2cfbea94e70eb4329ea6ce05162e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API resets all Shim DMA channel, followed by disabling the channel.  <a href="#aa61e2cfbea94e70eb4329ea6ce05162e">More...</a><br/></td></tr>
<tr class="separator:aa61e2cfbea94e70eb4329ea6ce05162e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf033fa0b7286826121554b57434ccc5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#adf033fa0b7286826121554b57434ccc5">XAieDma_ShimBdSetLock</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr, u8 BdNum, u8 LockId, u8 LockRelEn, u8 LockRelVal, u8 LockAcqEn, u8 LockAcqVal)</td></tr>
<tr class="memdesc:adf033fa0b7286826121554b57434ccc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API is to configure the Lock release and acquire attributes for the selected BD entry in the Shim DMA instance which is later written to the the physical BD location.  <a href="#adf033fa0b7286826121554b57434ccc5">More...</a><br/></td></tr>
<tr class="separator:adf033fa0b7286826121554b57434ccc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e436b1de2270c7c15ff037c178a8dd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a3e436b1de2270c7c15ff037c178a8dd9">XAieDma_ShimBdSetAxi</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr, u8 BdNum, u8 Smid, u8 BurstLen, u8 Qos, u8 Cache, u8 Secure)</td></tr>
<tr class="memdesc:a3e436b1de2270c7c15ff037c178a8dd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API is to configure the AXI attributes for the selected BD entry in the Shim DMA instance.  <a href="#a3e436b1de2270c7c15ff037c178a8dd9">More...</a><br/></td></tr>
<tr class="separator:a3e436b1de2270c7c15ff037c178a8dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2796f476718fc8942c455e3fd1457478"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a2796f476718fc8942c455e3fd1457478">XAieDma_ShimBdSetPkt</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr, u8 BdNum, u8 PktEn, u8 PktType, u8 PktId)</td></tr>
<tr class="memdesc:a2796f476718fc8942c455e3fd1457478"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API configures the Packet attributes of the selected BD entry in the Shim DMA instance.  <a href="#a2796f476718fc8942c455e3fd1457478">More...</a><br/></td></tr>
<tr class="separator:a2796f476718fc8942c455e3fd1457478"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a215fa9a9a694fbb29561f04ebc536c11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a215fa9a9a694fbb29561f04ebc536c11">XAieDma_ShimBdSetNext</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr, u8 BdNum, u8 NextBd)</td></tr>
<tr class="memdesc:a215fa9a9a694fbb29561f04ebc536c11"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API configures the Next BD attribute for the selected BD entry in the Shim DMA instance.  <a href="#a215fa9a9a694fbb29561f04ebc536c11">More...</a><br/></td></tr>
<tr class="separator:a215fa9a9a694fbb29561f04ebc536c11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3534a5ead9673ad52d818280ed36d25"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#af3534a5ead9673ad52d818280ed36d25">XAieDma_ShimBdSetAddr</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr, u8 BdNum, u16 AddrHigh, u32 AddrLow, u32 Length)</td></tr>
<tr class="memdesc:af3534a5ead9673ad52d818280ed36d25"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API configures the address and length attributes for the selected BD entry in the Shim DMA instance.  <a href="#af3534a5ead9673ad52d818280ed36d25">More...</a><br/></td></tr>
<tr class="separator:af3534a5ead9673ad52d818280ed36d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11062c700e5d4d8fac5807d0fa76aea2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a11062c700e5d4d8fac5807d0fa76aea2">XAieDma_ShimBdWrite</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr, u8 BdNum)</td></tr>
<tr class="memdesc:a11062c700e5d4d8fac5807d0fa76aea2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API writes all the attributes of the selected BD entry in the Shim DMA instance to the actual physical BD location.  <a href="#a11062c700e5d4d8fac5807d0fa76aea2">More...</a><br/></td></tr>
<tr class="separator:a11062c700e5d4d8fac5807d0fa76aea2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8169c137146f59ac65dead098156d4b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a8169c137146f59ac65dead098156d4b8">XAieDma_ShimBdClear</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr, u8 BdNum)</td></tr>
<tr class="memdesc:a8169c137146f59ac65dead098156d4b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API is used to clear the selected BD entry in the Shim DMA instance.  <a href="#a8169c137146f59ac65dead098156d4b8">More...</a><br/></td></tr>
<tr class="separator:a8169c137146f59ac65dead098156d4b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d1253503c2749fc6de7609de9adf72c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a0d1253503c2749fc6de7609de9adf72c">XAieDma_ShimBdClearAll</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr)</td></tr>
<tr class="memdesc:a0d1253503c2749fc6de7609de9adf72c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API is used to clear all BD entries in the Shim DMA instance.  <a href="#a0d1253503c2749fc6de7609de9adf72c">More...</a><br/></td></tr>
<tr class="separator:a0d1253503c2749fc6de7609de9adf72c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b012a58e4f6e8f444a37239adfa744f"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a3b012a58e4f6e8f444a37239adfa744f">XAieDma_ShimWaitDone</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr, u32 ChNum, u32 TimeOut)</td></tr>
<tr class="memdesc:a3b012a58e4f6e8f444a37239adfa744f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API is used to wait on Shim DMA channel to be completed.  <a href="#a3b012a58e4f6e8f444a37239adfa744f">More...</a><br/></td></tr>
<tr class="separator:a3b012a58e4f6e8f444a37239adfa744f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b482fc7277443d7074300c416b11dbb"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaiedma__shim_8h.html#a5b482fc7277443d7074300c416b11dbb">XAieDma_ShimPendingBdCount</a> (<a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *DmaInstPtr, u32 ChNum)</td></tr>
<tr class="memdesc:a5b482fc7277443d7074300c416b11dbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API is used to get the count of scheduled BDs in pending.  <a href="#a5b482fc7277443d7074300c416b11dbb">More...</a><br/></td></tr>
<tr class="separator:a5b482fc7277443d7074300c416b11dbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a22e5351d7c80d484634210428a4812a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XAieDma_ShimChControl</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">DmaInstPtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ChNum, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">PauseStrm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">PauseMm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Enable&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">XAieGbl_Write32(((DmaInstPtr)-&gt;BaseAddress +            \</div>
<div class="line">                        ShimDmaCh[ChNum].CtrlOff),                              \</div>
<div class="line">                        (XAie_SetField(PauseStrm, ShimDmaCh[ChNum].PzStr.Lsb,    \</div>
<div class="line">                        ShimDmaCh[ChNum].PzStr.Mask) |                          \</div>
<div class="line">                        XAie_SetField(PauseMm, ShimDmaCh[ChNum].PzMem.Lsb,       \</div>
<div class="line">                        ShimDmaCh[ChNum].PzMem.Mask) |                          \</div>
<div class="line">                        XAie_SetField(Enable, ShimDmaCh[ChNum].En.Lsb,           \</div>
<div class="line">                        ShimDmaCh[ChNum].En.Mask)))</div>
</div><!-- fragment -->
<p>Macro to configure the selected Shim DMA channel conrol bits. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance. </td></tr>
    <tr><td class="paramname">ChNum</td><td>- Channel number (0-S2MM0,1-S2MM1,2-MM2S0,3-MM2S1). </td></tr>
    <tr><td class="paramname">PauseStrm</td><td>- When set, pauses the stream traffic. </td></tr>
    <tr><td class="paramname">PauseMm</td><td>- When set, pauses the issuing of new AXI-MM commands. </td></tr>
    <tr><td class="paramname">Enable</td><td>- Enable channel (1-Enable,0-Disable).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="xaiedma__shim_8h.html#a80250f198333cc08b277de176154bbd6">XAieDma_ShimChReset()</a>, and <a class="el" href="xaiedma__shim_8h.html#a34e7d834009eaa71a3b7bc3b8f253e4f">XAieDma_ShimInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="a70f2993654a899ea69ab98a9e99df1c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XAieDma_ShimSetStartBd</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">DmaInstPtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ChNum, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">StartBd&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">XAieGbl_Write32(((DmaInstPtr)-&gt;BaseAddress +            \</div>
<div class="line">                        ShimDmaCh[ChNum].StatQOff),                             \</div>
<div class="line">                        XAie_SetField(StartBd, ShimDmaCh[ChNum].StatQ.Lsb,       \</div>
<div class="line">                        ShimDmaCh[ChNum].StatQ.Mask));                          \</div>
<div class="line">                        (DmaInstPtr)-&gt;BdStart[ChNum] = StartBd</div>
</div><!-- fragment -->
<p>Macro to set the StartBd for the selected Shim DMA channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shmim DMA instance. </td></tr>
    <tr><td class="paramname">ChNum</td><td>- Channel number (0-S2MM0,1-S2MM1,2-MM2S0,3-MM2S1). </td></tr>
    <tr><td class="paramname">BdStart</td><td>- BD value for the channel to start with (range:0-15).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="xaiedma__shim_8h.html#a80250f198333cc08b277de176154bbd6">XAieDma_ShimChReset()</a>, and <a class="el" href="xaiedma__shim_8h.html#a34e7d834009eaa71a3b7bc3b8f253e4f">XAieDma_ShimInitialize()</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a8169c137146f59ac65dead098156d4b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieDma_ShimBdClear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>BdNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API is used to clear the selected BD entry in the Shim DMA instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance. </td></tr>
    <tr><td class="paramname">BdNum</td><td>- BD index which needs to be cleared.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This doesn't clear the values in the BD physical location. </dd></dl>

<p>References <a class="el" href="struct_x_aie_dma___shim_bd.html#a69bfd83188f66ae7f9952c75cb2537dc">XAieDma_ShimBd::AddrH</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a30af9ef91f6cd50812c3113cb802ca1b">XAieDma_ShimBd::AddrL</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#ab79af7e83ab16aeadaa12bf3c89d7f86">XAieDma_ShimBd::Axi</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#a5ba51123448a311cfaf656606e0e7a81">XAieDma_ShimBdAxi::BrstLen</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#ad0f93c5b421c3c5872d5b7a5fb3531c0">XAieDma_ShimBdAxi::Cache</a>, <a class="el" href="struct_x_aie_dma___shim.html#a790f5b4ebc19ae5c12402ba292b9eda6">XAieDma_Shim::Descrs</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a1d1baf54f64d8f1400cf19bdfb50bcec">XAieDma_ShimBd::Length</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a7f9e0ab42a4a063ee5bee10eabf830d1">XAieDma_ShimBdLk::LkAcqEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a8e85f33ca921a12db8b1ec00ee4c45c7">XAieDma_ShimBdLk::LkAcqVal</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a9e9d07c7cd510951275488c36588142d">XAieDma_ShimBdLk::LkAcqValEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#af548a90c228505b730d6ffd5dd049996">XAieDma_ShimBdLk::LkRelEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#aeede56b2a34475954f6444020b85b505">XAieDma_ShimBdLk::LkRelVal</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a029768f5610da66d0d3c76bec6549abd">XAieDma_ShimBdLk::LkRelValEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a75fef792d5cd9ac9731f4d539446b8b8">XAieDma_ShimBd::Lock</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a7b6e1c4328a5efc6d29ad00795b5c495">XAieDma_ShimBdLk::LockId</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a76b5a3d7ab188e94c5a2f7c44ffba925">XAieDma_ShimBd::NextBd</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a368822abe674071335928ff061cf3398">XAieDma_ShimBd::NextBdEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a804c5b6af3cc0830d87fb68b066ac70a">XAieDma_ShimBd::PktEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a4fd884b6019d2d7f249288c06181bf95">XAieDma_ShimBd::PktId</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a50aa525d8024d0357efae377c173e4d7">XAieDma_ShimBd::PktType</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#ad381105a33459b92ded8719d2825be17">XAieDma_ShimBdAxi::Qos</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#a860a37e60f33f59f0a69397f0bc9588d">XAieDma_ShimBdAxi::Secure</a>, and <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#af692de1ccd6fc1845ce67317c782ff28">XAieDma_ShimBdAxi::Smid</a>.</p>

<p>Referenced by <a class="el" href="xaiedma__shim_8h.html#a0d1253503c2749fc6de7609de9adf72c">XAieDma_ShimBdClearAll()</a>, and <a class="el" href="xaiedma__shim_8h.html#a34e7d834009eaa71a3b7bc3b8f253e4f">XAieDma_ShimInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="a0d1253503c2749fc6de7609de9adf72c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieDma_ShimBdClearAll </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API is used to clear all BD entries in the Shim DMA instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This doesn't clear the values in the BD physical location. </dd></dl>

<p>References <a class="el" href="xaiedma__shim_8c.html#a8169c137146f59ac65dead098156d4b8">XAieDma_ShimBdClear()</a>.</p>

</div>
</div>
<a class="anchor" id="af3534a5ead9673ad52d818280ed36d25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieDma_ShimBdSetAddr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>BdNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>AddrHigh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>AddrLow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API configures the address and length attributes for the selected BD entry in the Shim DMA instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance. </td></tr>
    <tr><td class="paramname">BdNum</td><td>- BD index whose attributes need to be set to. </td></tr>
    <tr><td class="paramname">AddrHigh</td><td>- Upper 16-bits base address bits. </td></tr>
    <tr><td class="paramname">AddrLow</td><td>- Lower 32-bits base address bits. </td></tr>
    <tr><td class="paramname">Length</td><td>- Transfer length in bytes (min length = 4 bytes).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This doesn't set the values in the BD physical location. </dd></dl>

<p>References <a class="el" href="struct_x_aie_dma___shim_bd.html#a69bfd83188f66ae7f9952c75cb2537dc">XAieDma_ShimBd::AddrH</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a30af9ef91f6cd50812c3113cb802ca1b">XAieDma_ShimBd::AddrL</a>, <a class="el" href="struct_x_aie_dma___shim.html#a790f5b4ebc19ae5c12402ba292b9eda6">XAieDma_Shim::Descrs</a>, and <a class="el" href="struct_x_aie_dma___shim_bd.html#a1d1baf54f64d8f1400cf19bdfb50bcec">XAieDma_ShimBd::Length</a>.</p>

</div>
</div>
<a class="anchor" id="a3e436b1de2270c7c15ff037c178a8dd9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieDma_ShimBdSetAxi </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>BdNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Smid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>BurstLen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Qos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Cache</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Secure</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API is to configure the AXI attributes for the selected BD entry in the Shim DMA instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance. </td></tr>
    <tr><td class="paramname">BdNum</td><td>- BD index whose attributes need to be set to. </td></tr>
    <tr><td class="paramname">Smid</td><td>- SMID value for the AXI-MM transfer. </td></tr>
    <tr><td class="paramname">BurstLen</td><td>- Burst length for the AXI-MM transfer (4 or 8 or 16). </td></tr>
    <tr><td class="paramname">Qos</td><td>- AXI Qos bits (AxQOS) for the AXI-MM transfer. </td></tr>
    <tr><td class="paramname">Cache</td><td>- AxCACHE bits for the AXI-MM transfer. </td></tr>
    <tr><td class="paramname">Secure</td><td>- Secure staus of the transfer (1-Secure,0-Non secure).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This doesn't set the values in the BD physical location. </dd></dl>

<p>References <a class="el" href="struct_x_aie_dma___shim_bd.html#ab79af7e83ab16aeadaa12bf3c89d7f86">XAieDma_ShimBd::Axi</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#a5ba51123448a311cfaf656606e0e7a81">XAieDma_ShimBdAxi::BrstLen</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#ad0f93c5b421c3c5872d5b7a5fb3531c0">XAieDma_ShimBdAxi::Cache</a>, <a class="el" href="struct_x_aie_dma___shim.html#a790f5b4ebc19ae5c12402ba292b9eda6">XAieDma_Shim::Descrs</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#ad381105a33459b92ded8719d2825be17">XAieDma_ShimBdAxi::Qos</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#a860a37e60f33f59f0a69397f0bc9588d">XAieDma_ShimBdAxi::Secure</a>, and <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#af692de1ccd6fc1845ce67317c782ff28">XAieDma_ShimBdAxi::Smid</a>.</p>

</div>
</div>
<a class="anchor" id="adf033fa0b7286826121554b57434ccc5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieDma_ShimBdSetLock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>BdNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>LockId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>LockRelEn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>LockRelVal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>LockAcqEn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>LockAcqVal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API is to configure the Lock release and acquire attributes for the selected BD entry in the Shim DMA instance which is later written to the the physical BD location. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance. </td></tr>
    <tr><td class="paramname">BdNum</td><td>- BD index whose attributes need to be set to. </td></tr>
    <tr><td class="paramname">LockId</td><td>- Lock index value, ranging from 0-15. </td></tr>
    <tr><td class="paramname">LockRelEn</td><td>- Enable/Disable lock release (1-Enable,0-Disable). </td></tr>
    <tr><td class="paramname">LockRelVal</td><td>- Lock release value (Valid:0/1 &amp; Invalid:0xFF). </td></tr>
    <tr><td class="paramname">LockAcqEn</td><td>- Enable/Disable lock acquire (1-Enable,0-Disable). </td></tr>
    <tr><td class="paramname">LockAcqVal</td><td>- Lock acquire value (Valid:0/1 &amp; Invalid:0xFF).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This doesn't set the values in the BD physical location. </dd></dl>

<p>References <a class="el" href="struct_x_aie_dma___shim.html#a790f5b4ebc19ae5c12402ba292b9eda6">XAieDma_Shim::Descrs</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a7f9e0ab42a4a063ee5bee10eabf830d1">XAieDma_ShimBdLk::LkAcqEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a8e85f33ca921a12db8b1ec00ee4c45c7">XAieDma_ShimBdLk::LkAcqVal</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a9e9d07c7cd510951275488c36588142d">XAieDma_ShimBdLk::LkAcqValEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#af548a90c228505b730d6ffd5dd049996">XAieDma_ShimBdLk::LkRelEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#aeede56b2a34475954f6444020b85b505">XAieDma_ShimBdLk::LkRelVal</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a029768f5610da66d0d3c76bec6549abd">XAieDma_ShimBdLk::LkRelValEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a75fef792d5cd9ac9731f4d539446b8b8">XAieDma_ShimBd::Lock</a>, and <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a7b6e1c4328a5efc6d29ad00795b5c495">XAieDma_ShimBdLk::LockId</a>.</p>

</div>
</div>
<a class="anchor" id="a215fa9a9a694fbb29561f04ebc536c11"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieDma_ShimBdSetNext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>BdNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>NextBd</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API configures the Next BD attribute for the selected BD entry in the Shim DMA instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance. </td></tr>
    <tr><td class="paramname">BdNum</td><td>- BD index whose attributes need to be set to. </td></tr>
    <tr><td class="paramname">NextBd</td><td>- Next BD to use, ranging from 0-15. If NextBd==0xFF, it is deemed invalid and UseNextBd is set to 0.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This doesn't set the values in the BD physical location. </dd></dl>

<p>References <a class="el" href="struct_x_aie_dma___shim.html#a790f5b4ebc19ae5c12402ba292b9eda6">XAieDma_Shim::Descrs</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a76b5a3d7ab188e94c5a2f7c44ffba925">XAieDma_ShimBd::NextBd</a>, and <a class="el" href="struct_x_aie_dma___shim_bd.html#a368822abe674071335928ff061cf3398">XAieDma_ShimBd::NextBdEn</a>.</p>

</div>
</div>
<a class="anchor" id="a2796f476718fc8942c455e3fd1457478"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieDma_ShimBdSetPkt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>BdNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>PktEn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>PktType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>PktId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API configures the Packet attributes of the selected BD entry in the Shim DMA instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance. </td></tr>
    <tr><td class="paramname">BdNum</td><td>- BD index whose attributes need to be set to. </td></tr>
    <tr><td class="paramname">PktEn</td><td>- Enable/Disable Pkt switching mode (1-Enable,0-Disable). </td></tr>
    <tr><td class="paramname">PktType</td><td>- Packet type. </td></tr>
    <tr><td class="paramname">PktId</td><td>- ID value for the packet.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This doesn't set the values in the BD physical location. </dd></dl>

<p>References <a class="el" href="struct_x_aie_dma___shim.html#a790f5b4ebc19ae5c12402ba292b9eda6">XAieDma_Shim::Descrs</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a804c5b6af3cc0830d87fb68b066ac70a">XAieDma_ShimBd::PktEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a4fd884b6019d2d7f249288c06181bf95">XAieDma_ShimBd::PktId</a>, and <a class="el" href="struct_x_aie_dma___shim_bd.html#a50aa525d8024d0357efae377c173e4d7">XAieDma_ShimBd::PktType</a>.</p>

</div>
</div>
<a class="anchor" id="a11062c700e5d4d8fac5807d0fa76aea2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieDma_ShimBdWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>BdNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API writes all the attributes of the selected BD entry in the Shim DMA instance to the actual physical BD location. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance. </td></tr>
    <tr><td class="paramname">BdNum</td><td>- BD index whose attributes need to be written to the corresponding physical location.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_aie_gbl___reg_shim_bd_ctrl.html#acd5fa2b33a88930fb7ea26b86931a2d0">XAieGbl_RegShimBdCtrl::AcqEn</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_ctrl.html#aa12f0c5899bb5101772d17a24f94b8cb">XAieGbl_RegShimBdCtrl::AcqVal</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_ctrl.html#a48cac51268ae682af5a8ae45ba8a1d32">XAieGbl_RegShimBdCtrl::AcqValEn</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_ctrl.html#ad7ba0063d334ee942cc91c6454c6afa6">XAieGbl_RegShimBdCtrl::Addh</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_bd.html#a6477eab02c8649e62e893ee76fc80148">XAieGbl_RegShimDmaBd::Addl</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a69bfd83188f66ae7f9952c75cb2537dc">XAieDma_ShimBd::AddrH</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a30af9ef91f6cd50812c3113cb802ca1b">XAieDma_ShimBd::AddrL</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#ab79af7e83ab16aeadaa12bf3c89d7f86">XAieDma_ShimBd::Axi</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_bd.html#a9496a0b73777c03c52a47b5c33bcb2ce">XAieGbl_RegShimDmaBd::Axi</a>, <a class="el" href="struct_x_aie_dma___shim.html#ad6a1d9950964039d361f567ffc0706d4">XAieDma_Shim::BaseAddress</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_axi.html#ae241e76dbbe4be7a46c4fa25bb024417">XAieGbl_RegShimBdAxi::Blen</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#a5ba51123448a311cfaf656606e0e7a81">XAieDma_ShimBdAxi::BrstLen</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#ad0f93c5b421c3c5872d5b7a5fb3531c0">XAieDma_ShimBdAxi::Cache</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_axi.html#af0c4ec5dff318d4ac916e0949c22ba7f">XAieGbl_RegShimBdAxi::Cache</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_bd.html#a35d2dd2bf21b70cdd7be25accca197ee">XAieGbl_RegShimDmaBd::Ctrl</a>, <a class="el" href="struct_x_aie_dma___shim.html#a790f5b4ebc19ae5c12402ba292b9eda6">XAieDma_Shim::Descrs</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_pkt.html#ab1f2fc63c06ab768e714bf57211efcf8">XAieGbl_RegShimBdPkt::En</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_pkt.html#a861c5067eab09e42a76f30e45a86cbec">XAieGbl_RegShimBdPkt::Id</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_bd.html#a8b8e97b42ce6b155a9fcfc15acce5612">XAieGbl_RegShimDmaBd::Len</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a1d1baf54f64d8f1400cf19bdfb50bcec">XAieDma_ShimBd::Length</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a7f9e0ab42a4a063ee5bee10eabf830d1">XAieDma_ShimBdLk::LkAcqEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a8e85f33ca921a12db8b1ec00ee4c45c7">XAieDma_ShimBdLk::LkAcqVal</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a9e9d07c7cd510951275488c36588142d">XAieDma_ShimBdLk::LkAcqValEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#af548a90c228505b730d6ffd5dd049996">XAieDma_ShimBdLk::LkRelEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#aeede56b2a34475954f6444020b85b505">XAieDma_ShimBdLk::LkRelVal</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a029768f5610da66d0d3c76bec6549abd">XAieDma_ShimBdLk::LkRelValEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a75fef792d5cd9ac9731f4d539446b8b8">XAieDma_ShimBd::Lock</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_ctrl.html#ad0d00b2129c27f8b4ddcaf520af69c7d">XAieGbl_RegShimBdCtrl::Lock</a>, <a class="el" href="struct_x_aie_dma___shim_bd_lk.html#a7b6e1c4328a5efc6d29ad00795b5c495">XAieDma_ShimBdLk::LockId</a>, <a class="el" href="struct_x_aie_gbl___reg_fld_attr.html#a95f0d60188c5baf7612b662f58a98617">XAieGbl_RegFldAttr::Lsb</a>, <a class="el" href="struct_x_aie_gbl___reg_fld_attr.html#a235949ebe8e30fb2b6ee52c0b3c6b760">XAieGbl_RegFldAttr::Mask</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_ctrl.html#ad964d3c6c7fed2542aa25572e6b03822">XAieGbl_RegShimBdCtrl::NexBd</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_ctrl.html#a2f8e6fda0012aa3ba17960b4447c99fa">XAieGbl_RegShimBdCtrl::NexEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a76b5a3d7ab188e94c5a2f7c44ffba925">XAieDma_ShimBd::NextBd</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a368822abe674071335928ff061cf3398">XAieDma_ShimBd::NextBdEn</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_bd.html#a92b88a0613bc53747f3f11d324ee5ad5">XAieGbl_RegShimDmaBd::Pkt</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a804c5b6af3cc0830d87fb68b066ac70a">XAieDma_ShimBd::PktEn</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a4fd884b6019d2d7f249288c06181bf95">XAieDma_ShimBd::PktId</a>, <a class="el" href="struct_x_aie_dma___shim_bd.html#a50aa525d8024d0357efae377c173e4d7">XAieDma_ShimBd::PktType</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#ad381105a33459b92ded8719d2825be17">XAieDma_ShimBdAxi::Qos</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_axi.html#a3ea8cb5da4ea008757bc427429edaec1">XAieGbl_RegShimBdAxi::Qos</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_bd.html#a5ec12d5ec0a6dc86e0198c4d305a4cef">XAieGbl_RegShimDmaBd::RegOff</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_ctrl.html#a21b6978b64950975aeb7389acc12465c">XAieGbl_RegShimBdCtrl::RelEn</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_ctrl.html#a6bcd5313127e03af1f836829ec840245">XAieGbl_RegShimBdCtrl::RelVal</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_ctrl.html#a8b6c265e997026be4eaec26c52ee1f52">XAieGbl_RegShimBdCtrl::RelValEn</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_axi.html#a29405b00b0ffba1c427546ee967889b3">XAieGbl_RegShimBdAxi::Sec</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#a860a37e60f33f59f0a69397f0bc9588d">XAieDma_ShimBdAxi::Secure</a>, <a class="el" href="struct_x_aie_dma___shim_bd_axi.html#af692de1ccd6fc1845ce67317c782ff28">XAieDma_ShimBdAxi::Smid</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_axi.html#acb56047474e52421bf8702d41111a2a4">XAieGbl_RegShimBdAxi::Smid</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_bd_pkt.html#a070769335af7eedcbb1e1ad11fc8d05d">XAieGbl_RegShimBdPkt::Type</a>, and <a class="el" href="struct_x_aie_gbl___reg_shim_bd_ctrl.html#a3aa9dda0076dbcbfec9faf18e8ee6822">XAieGbl_RegShimBdCtrl::Valid</a>.</p>

</div>
</div>
<a class="anchor" id="a80250f198333cc08b277de176154bbd6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XAieDma_ShimChReset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>ChNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API resets the selected Shim DMA channel, followed by disabling the channel. </p>
<p>The StartBd is cleared to default value.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance. </td></tr>
    <tr><td class="paramname">ChNum</td><td>- Channel number (0-S2MM0,1-S2MM1,2-MM2S0,3-MM2S1).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XAIE_SUCCESS if successful, else XAIE_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xaiedma__shim_8h.html#a22e5351d7c80d484634210428a4812a0">XAieDma_ShimChControl</a>, and <a class="el" href="xaiedma__shim_8h.html#a70f2993654a899ea69ab98a9e99df1c0">XAieDma_ShimSetStartBd</a>.</p>

<p>Referenced by <a class="el" href="xaiedma__shim_8h.html#aa61e2cfbea94e70eb4329ea6ce05162e">XAieDma_ShimChResetAll()</a>.</p>

</div>
</div>
<a class="anchor" id="aa61e2cfbea94e70eb4329ea6ce05162e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XAieDma_ShimChResetAll </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API resets all Shim DMA channel, followed by disabling the channel. </p>
<p>The StartBd is cleared to default value.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XAIE_SUCCESS if successful, else XAIE_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xaiedma__shim_8c.html#a80250f198333cc08b277de176154bbd6">XAieDma_ShimChReset()</a>.</p>

</div>
</div>
<a class="anchor" id="a34e7d834009eaa71a3b7bc3b8f253e4f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieDma_ShimInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *&#160;</td>
          <td class="paramname"><em>TileInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API intializes the Shim DMA BDs to their default values and followed by disable of all the 4 channels (S2MM0, S2MM1, MM2S0, MM2S1). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">TileInstPtr</td><td>- Pointer to the Tile instance. </td></tr>
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This API is required to be invoked first in the sequence, before any of the other Shim DMA driver APIs are used. </dd></dl>

<p>References <a class="el" href="struct_x_aie_dma___shim.html#ad6a1d9950964039d361f567ffc0706d4">XAieDma_Shim::BaseAddress</a>, <a class="el" href="struct_x_aie_gbl___tile.html#a7c04a73941e64980a264a9d529fbb571">XAieGbl_Tile::TileAddr</a>, <a class="el" href="struct_x_aie_gbl___tile.html#aadd948557d2723faa0cf47419e7d8a6e">XAieGbl_Tile::TileType</a>, <a class="el" href="xaiedma__shim_8c.html#a8169c137146f59ac65dead098156d4b8">XAieDma_ShimBdClear()</a>, <a class="el" href="xaiedma__shim_8h.html#a22e5351d7c80d484634210428a4812a0">XAieDma_ShimChControl</a>, and <a class="el" href="xaiedma__shim_8h.html#a70f2993654a899ea69ab98a9e99df1c0">XAieDma_ShimSetStartBd</a>.</p>

</div>
</div>
<a class="anchor" id="a5b482fc7277443d7074300c416b11dbb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XAieDma_ShimPendingBdCount </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ChNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API is used to get the count of scheduled BDs in pending. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance. </td></tr>
    <tr><td class="paramname">ChNum</td><td>- Should be one of XAIEDMA_SHIM_CHNUM_S2MM0, XAIEDMA_SHIM_CHNUM_S2MM1, XAIEDMA_SHIM_CHNUM_MM2S0, or XAIEDMA_SHIM_CHNUM_MM2S1.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of scheduled BDs in pending</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function checks the number of pending BDs in the queue as well as if there's any BD that the channel is currently operating on. If multiple BDs are chained, it's counted as one BD. </dd></dl>

<p>References <a class="el" href="struct_x_aie_dma___shim.html#ad6a1d9950964039d361f567ffc0706d4">XAieDma_Shim::BaseAddress</a>, <a class="el" href="struct_x_aie_gbl___reg_fld_attr.html#a235949ebe8e30fb2b6ee52c0b3c6b760">XAieGbl_RegFldAttr::Mask</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_sts.html#abf6e7e728b90d63a691cecdc095a5087">XAieGbl_RegShimDmaSts::RegOff</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_sts.html#a1621f6eea1dd79ddfd31eba2802f6b16">XAieGbl_RegShimDmaSts::Stalled</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_sts.html#a84fd2448a2c05dd5e3c149ce5f6dda08">XAieGbl_RegShimDmaSts::StartQSize</a>, and <a class="el" href="struct_x_aie_gbl___reg_shim_dma_sts.html#a7f126b204db534b27dbd00e2f3316906">XAieGbl_RegShimDmaSts::Sts</a>.</p>

</div>
</div>
<a class="anchor" id="aa2bd7444a7216113d5944f85fcd141de"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XAieDma_ShimSoftInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *&#160;</td>
          <td class="paramname"><em>TileInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API intializes the Shim DMA instances without programming any related resources such as bd and channel. </p>
<p>This allows the resource to be managed independently.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">TileInstPtr</td><td>- Pointer to the Tile instance. </td></tr>
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XAIE_SUCCESS if successful, else XAIE_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This API is required to be invoked first in the sequence, before any of the other Shim DMA driver APIs are used. </dd></dl>

<p>References <a class="el" href="struct_x_aie_dma___shim.html#ad6a1d9950964039d361f567ffc0706d4">XAieDma_Shim::BaseAddress</a>, <a class="el" href="struct_x_aie_gbl___tile.html#a7c04a73941e64980a264a9d529fbb571">XAieGbl_Tile::TileAddr</a>, and <a class="el" href="struct_x_aie_gbl___tile.html#aadd948557d2723faa0cf47419e7d8a6e">XAieGbl_Tile::TileType</a>.</p>

</div>
</div>
<a class="anchor" id="a3b012a58e4f6e8f444a37239adfa744f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XAieDma_ShimWaitDone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_dma___shim.html">XAieDma_Shim</a> *&#160;</td>
          <td class="paramname"><em>DmaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ChNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>TimeOut</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API is used to wait on Shim DMA channel to be completed. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DmaInstPtr</td><td>- Pointer to the Shim DMA instance. </td></tr>
    <tr><td class="paramname">ChNum</td><td>- Should be one of XAIEDMA_SHIM_CHNUM_S2MM0, XAIEDMA_SHIM_CHNUM_S2MM1, XAIEDMA_SHIM_CHNUM_MM2S0, or XAIEDMA_SHIM_CHNUM_MM2S1. </td></tr>
    <tr><td class="paramname">TimeOut</td><td>- Minimum timeout value in micro seconds.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if completed or 1 for timedout.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_aie_dma___shim.html#ad6a1d9950964039d361f567ffc0706d4">XAieDma_Shim::BaseAddress</a>, <a class="el" href="struct_x_aie_gbl___reg_fld_attr.html#a95f0d60188c5baf7612b662f58a98617">XAieGbl_RegFldAttr::Lsb</a>, <a class="el" href="struct_x_aie_gbl___reg_fld_attr.html#a235949ebe8e30fb2b6ee52c0b3c6b760">XAieGbl_RegFldAttr::Mask</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_sts.html#abf6e7e728b90d63a691cecdc095a5087">XAieGbl_RegShimDmaSts::RegOff</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_sts.html#a1621f6eea1dd79ddfd31eba2802f6b16">XAieGbl_RegShimDmaSts::Stalled</a>, <a class="el" href="struct_x_aie_gbl___reg_shim_dma_sts.html#a84fd2448a2c05dd5e3c149ce5f6dda08">XAieGbl_RegShimDmaSts::StartQSize</a>, and <a class="el" href="struct_x_aie_gbl___reg_shim_dma_sts.html#a7f126b204db534b27dbd00e2f3316906">XAieGbl_RegShimDmaSts::Sts</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
